#pragma once

const int STACK_SIZE = 100;
template <class TYPE>
struct  NODE
{
	TYPE data;
};

template <class TYPE>
class Stack
{
private:
	NODE<TYPE> *stackAry;
	int count;
	int stackMax;
	int top;
public:
	Stack(int size = STACK_SIZE);
	~Stack(void);
	bool pushStack(TYPE dataIn);
	bool popStack(TYPE& dataOut);
	bool stackTop(TYPE& dataOut);
	bool emptyStack();
	bool fullStack();
	int stackCount();
};

